#include "widget.h"
#include"base1.h"
#include<QIcon>
#include<QPainter>
#include<map.h>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //调用初始化场景
    initScene();
    //启动游戏
    playGame();
}

Widget::~Widget()
{
}

void Widget::initScene()
{
    //设置窗口尺寸
    setFixedSize(GAME_WIDTH,GAME_HEIGHT);

    //设置标题
    setWindowTitle(GAME_TITLE);

    //加载图标
    setWindowIcon(QIcon(GAME_ICON));

    //定时器设置
    m_Timer.setInterval(GAME_RATE);
}

void Widget::playGame()
{
    //启动计时器
    m_Timer.start();

    //监听定时器发送的信号
    connect(&m_Timer,&QTimer::timeout,[=](){
        //更新游戏中元素的坐标
        updatePosition();
        //绘制到屏幕中
        update();

    });
}

void Widget::updatePosition()
{
    //更新地图的坐标
    m_map.mapPosition();

}

void Widget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);

    //绘制地图
    painter.drawPixmap(0,m_map.m_map1_posY,m_map.m_map1);
    painter.drawPixmap(0,m_map.m_map2_posY,m_map.m_map2);

    //绘制主角飞机
    painter.drawPixmap(m_zhu.m_x,m_zhu.m_y,m_zhu.m_plane);

}

